1. 13.3 otto案例介绍 -- Otto Group Product Classification Challenge

1.1. 1.背景介绍

奥托集团是世界上最大的电子商务公司之一,在20多个国家设有子公司。该公司每天都在世界各地销售数百万种产品,所以对其产品根据性能合理的分类非常重要。

不过,在实际工作中,工作人员发现,许多相同的产品得到了不同的分类。本案例要求,你对奥拓集团的产品进行正确的分类。尽可能的提供分类的准确性。

链接:https://www.kaggle.com/c/otto-group-product-classification-challenge/overview

image-20230711151910300

1.2. 2.数据集介绍

  • 本案例中,数据集包含大约200,000种产品的93个特征。
  • 其目的是建立一个能够区分otto公司主要产品类别的预测模型。
  • 所有产品共被分成九个类别(例如时装,电子产品等)。

image-20230711151916267

  • id - 产品id
  • feat_1, feat_2, ..., feat_93 - 产品的各个特征
  • target - 产品被划分的类别

1.3. 3.评分标准

本案例中,最后结果使用多分类对数损失进行评估。

具体公式: image-20230711151924862

上公式中,

  • N:样本数
  • M:类别数
  • Pij:代表第i个样本属于类别j的概率(i表示样本,j表示类别。)
  • 如果第i个样本真的属于类别j,则yij等于1,否则为0。

  • 根据上公式,假如你将所有的测试样本都正确分类,所有pij都是1,那每个log(pij)都是0,最终的logloss也是0。
  • 假如第1个样本本来是属于1类别的,但是你给它的类别概率pij=0.1,那logloss就会累加上log(0.1)这一项。我们知道这一项是负数,而且pij越小,负得越多,如果pij=0,将是无穷。这会导致这种情况:你分错了一个,logloss就是无穷。这当然不合理,为了避免这一情况,我们对非常小的值做如下处理:

image-20230711151931646

  • 也就是说最小不会小于10^-15。

1.4. 4.实现过程

1.4.1. 4.1 流程分析

  • 获取数据
  • 数据基本处理
    • 数据量比较大,尝试是否可以进行数据分割
    • 转换目标值表示方式
  • 模型训练
    • 模型基本训练

1.4.2. 4.2 代码实现

  • 具体见【[RF]OTTO Group Product Classification Challenge.ipynb】
Copyright © MISIN 2022 | 豫ICP备2023040351号-1 all right reserved,powered by Gitbook该文件修订时间: 2024-01-12 07:58:59

results matching ""

    No results matching ""